Programa para el circuito receptor:

TRISD = %00000000

Symbol T9600 = 2 ' Dato verdadero (Driven True)

dato VAR Byte ' Define la variable "dato" como Byte

salida VAR Byte

Pause 500 ' Pausa de 500 milisegundos para la LCD

LCDOut $fe, 1 ' Limpia la LCD

PORTD = 0 ' Inicializamos el puerto D

inicio:

SerIn PORTB.7, T9600, dato ' Espera datos.


If DATO = %10011001 Then sigue ' Salta a la etiqueta "sigue"


' si se recibe el cdigo correcto
' que hemos elegido (10011001)

GoTo inicio ' Salto a inicio.

sigue:

SerIn PORTB.7, T9600, dato ' espera datos durante 1 ms
If dato = 1 Then Toggle PORTD.0 ' Invierte el Bit en RD0
If dato = 2 Then Toggle PORTD.1 ' Invierte el Bit en RD1
If dato = 3 Then Toggle PORTD.2 ' Invierte el Bit en RD2
If dato = 4 Then Toggle PORTD.3 ' Invierte el Bit en RD3
If dato = 5 Then Toggle PORTD.4 ' Invierte el Bit en RD4
If dato = 6 Then Toggle PORTD.5 ' Invierte el Bit en RD5
If dato = 7 Then Toggle PORTD.6 ' Invierte el Bit en RD6
If dato = 8 Then Toggle PORTD.7 ' Invierte el Bit en RD7
LCDOUT $fe, 2,"Salida #: ",#dato," " ' Muestra dato en LCD
GoTo inicio ' Salta a inicio

End